<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>关于引用变量赋值问题</title>
</head>
<body>
    <!-- 
        关于引用变量赋值问题
            - 2 个引用变量指向同一个对象，
                通过一个变量修改对象内部数据，另一个变量看到的是修改之后的数据
            - 2 个引用变量指向用一个对象，
                让其中一个引用变量指向另一个对象，另一个引用变量依然指向前一个对象
     -->
<script type="text/javascript">
    var obj1 = {name:'Tom'}
    var obj2 = obj1
    obj1.name = 'Jack'
    console.log(obj2.name) // jack
    obj2.age = '18'
    console.log(obj1.age) // 18
    function fn(obj){
        obj.name = 'Bob'
    }
    fn(obj1)
    console.log(obj2.name)  // Bob

    var a = {age:12}
    var b = a
    a = {name:'BOB',age:13}
    b.age = 18
    console.log(b.age, a.name, a.age) // 12 Bob 13

    function fn2(obj){
        obj = {age:15}
    }
    fn2(a)
    console.log(a.age)  // 13

</script>
</body>
</html>